package manager;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Ubicaciones {
	private String codigo;
	private String descripcion;
	private String ciudad;
	private String direccion;
	private String telefono;
	private String tipo;
	
	private db conexion = null;
	
	public String getCodigo() {
		return codigo;
	}
	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public db getConexion() {
		return conexion;
	}
	public void setConexion(db conexion) {
		this.conexion = conexion;
	}
	public String getCiudad() {
		return ciudad;
	}
	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	public String getTelefono() {
		return telefono;
	}
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public Ubicaciones(db conexion) {
		super();
		this.conexion = conexion;
	}
	
	public boolean add() throws SQLException{
		boolean result = false;
			String sql = String.format("insert into ubicaciones (codigo,nombre,ciudad,direccion,telefono,tipo) values ('%s','%s','%s','%s','%s','%s')",this.codigo,this.descripcion,this.ciudad,this.direccion,this.telefono,this.tipo);
			if (conexion.Update(sql) > 0) {
				conexion.Commit();
				result = true;
			}
		return result;
	}

	public boolean modify(String key) throws SQLException {
		boolean result = false;

			String sql = String.format("update ubicaciones set codigo='%s',nombre='%s',ciudad='%s',direccion='%s',telefono='%s',tipo='%s' where codigo='%s'",this.codigo,this.descripcion,this.ciudad,this.direccion,this.telefono,this.tipo,key);
			if (conexion.Update(sql) > 0) {
				conexion.Commit();
				result = true;
			}
			
		return result;	
	}
	
	public boolean remove(String key) throws SQLException {
		boolean result = false;

			String sql = String.format("delete from ubicaciones where codigo='%s'",key);
			if (conexion.Update(sql) > 0) {
				conexion.Commit();
				result = true;
			}
			
		return result;	
	}
	
	public boolean Find(String key) throws SQLException {
		boolean result = false;
			String sql = String.format ("select  codigo,nombre,ciudad,direccion,telefono,tipo from ubicaciones where codigo='%s'",key);
			ResultSet rs = conexion.Query(sql);
			if (rs.next()) {
				this.codigo = (String)rs.getString("codigo");
				this.descripcion = (String)rs.getString("nombre");
				this.ciudad = (String)rs.getString("ciudad");
				this.direccion = (String)rs.getString("direccion");
				this.telefono = (String)rs.getString("telefono");
				this.tipo = (String)rs.getString("tipo");
				result = true;
			}
			rs.close();
			
		return result;	
	}
	
	public ResultSet List() throws SQLException {
		ResultSet result = null;
			String sql = "select codigo,nombre,ciudad,direccion,telefono,tipo from ubicaciones order by nombre";
			result = conexion.Query(sql);
			return result;	
	}
	public String CreateSelectHTML(String id) {
		String strHtml = "<select id='" + id + "' name='" + id + "'>" ;
		
		try {
			ResultSet rs = List();
			if (rs.next()) {
				do {
				strHtml += "<option value='" + rs.getString("codigo") + "'>" + rs.getString("nombre") + "</option>";
				}while(rs.next());
			}
		} catch (SQLException e) {
			
		}
		
		strHtml += "<select>";
		return strHtml;
	}
	public String CreateSelectHTML(String id,String key) {
		String strHtml = "<select id='" + id + "' name='" + id + "'>" ;
		try {
			ResultSet rs = List();
			if (rs.next()) {
				do {
					String c = "";
					if (key.equals(rs.getString("codigo"))) c="selected";
					
				strHtml += "<option value='" + rs.getString("codigo") + "' " + c + ">" + rs.getString("nombre") + "</option>";
				}while(rs.next());
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
		}
		
		strHtml += "<select>";
		return strHtml;
	}
	

}
